package com.eshop.modules.system.service.dto;

import java.sql.Timestamp;
import java.util.List;
import java.util.Set;
import com.eshop.annotation.Query;

public class UserQueryCriteria
{
    @Query
    private Long id;
    @Query(propName = "deptId", type = Query.Type.IN)
    private Set<Long> deptIds;
    @Query(blurry = "email,username,nickName")
    private String blurry;
    @Query
    private Boolean enabled;
    private Long deptId;
    @Query(type = Query.Type.BETWEEN)
    private List<Timestamp> createTime;
    
    public Long getId() {
        return this.id;
    }
    
    public Set<Long> getDeptIds() {
        return this.deptIds;
    }
    
    public String getBlurry() {
        return this.blurry;
    }
    
    public Boolean getEnabled() {
        return this.enabled;
    }
    
    public Long getDeptId() {
        return this.deptId;
    }
    
    public List<Timestamp> getCreateTime() {
        return this.createTime;
    }
    
    public void setId(final Long id) {
        this.id = id;
    }
    
    public void setDeptIds(final Set<Long> deptIds) {
        this.deptIds = deptIds;
    }
    
    public void setBlurry(final String blurry) {
        this.blurry = blurry;
    }
    
    public void setEnabled(final Boolean enabled) {
        this.enabled = enabled;
    }
    
    public void setDeptId(final Long deptId) {
        this.deptId = deptId;
    }
    
    public void setCreateTime(final List<Timestamp> createTime) {
        this.createTime = createTime;
    }
    
    @Override
    public boolean equals(final Object o) {
        if (o == this) {
            return true;
        }
        if (!(o instanceof UserQueryCriteria)) {
            return false;
        }
        final UserQueryCriteria other = (UserQueryCriteria)o;
        if (!other.canEqual(this)) {
            return false;
        }
        final Object this$id = this.getId();
        final Object other$id = other.getId();
        Label_0065: {
            if (this$id == null) {
                if (other$id == null) {
                    break Label_0065;
                }
            }
            else if (this$id.equals(other$id)) {
                break Label_0065;
            }
            return false;
        }
        final Object this$enabled = this.getEnabled();
        final Object other$enabled = other.getEnabled();
        Label_0102: {
            if (this$enabled == null) {
                if (other$enabled == null) {
                    break Label_0102;
                }
            }
            else if (this$enabled.equals(other$enabled)) {
                break Label_0102;
            }
            return false;
        }
        final Object this$deptId = this.getDeptId();
        final Object other$deptId = other.getDeptId();
        Label_0139: {
            if (this$deptId == null) {
                if (other$deptId == null) {
                    break Label_0139;
                }
            }
            else if (this$deptId.equals(other$deptId)) {
                break Label_0139;
            }
            return false;
        }
        final Object this$deptIds = this.getDeptIds();
        final Object other$deptIds = other.getDeptIds();
        Label_0176: {
            if (this$deptIds == null) {
                if (other$deptIds == null) {
                    break Label_0176;
                }
            }
            else if (this$deptIds.equals(other$deptIds)) {
                break Label_0176;
            }
            return false;
        }
        final Object this$blurry = this.getBlurry();
        final Object other$blurry = other.getBlurry();
        Label_0213: {
            if (this$blurry == null) {
                if (other$blurry == null) {
                    break Label_0213;
                }
            }
            else if (this$blurry.equals(other$blurry)) {
                break Label_0213;
            }
            return false;
        }
        final Object this$createTime = this.getCreateTime();
        final Object other$createTime = other.getCreateTime();
        if (this$createTime == null) {
            if (other$createTime == null) {
                return true;
            }
        }
        else if (this$createTime.equals(other$createTime)) {
            return true;
        }
        return false;
    }
    
    protected boolean canEqual(final Object other) {
        return other instanceof UserQueryCriteria;
    }
    
    @Override
    public int hashCode() {
        final int PRIME = 59;
        int result = 1;
        final Object $id = this.getId();
        result = result * 59 + (($id == null) ? 43 : $id.hashCode());
        final Object $enabled = this.getEnabled();
        result = result * 59 + (($enabled == null) ? 43 : $enabled.hashCode());
        final Object $deptId = this.getDeptId();
        result = result * 59 + (($deptId == null) ? 43 : $deptId.hashCode());
        final Object $deptIds = this.getDeptIds();
        result = result * 59 + (($deptIds == null) ? 43 : $deptIds.hashCode());
        final Object $blurry = this.getBlurry();
        result = result * 59 + (($blurry == null) ? 43 : $blurry.hashCode());
        final Object $createTime = this.getCreateTime();
        result = result * 59 + (($createTime == null) ? 43 : $createTime.hashCode());
        return result;
    }
    
    @Override
    public String toString() {
        return "UserQueryCriteria(id=" + this.getId() + ", deptIds=" + this.getDeptIds() + ", blurry=" + this.getBlurry() + ", enabled=" + this.getEnabled() + ", deptId=" + this.getDeptId() + ", createTime=" + this.getCreateTime() + ")";
    }
}
